1. Field of the Invention
The present invention relates to a digital video (or versatile) disc player, and in particular, to a method for playing a menu in a digital video disc player.
2. Description of the Related Art
With the multimedia era at hand, constant efforts to transfer massive amounts of information more rapidly and more accurately have begun to obtain good results by virtue of a remarkable development in digital communication, semiconductor device and digital signal processing (DSP) technologies. Accordingly, the video and audio data can now be transferred and shared in the various forms between different devices, in accordance with an internal data transfer standard such as H.261 and JPEG (Joint Picture Expert Group) by ISO/ITU-TS, and MPEG2 (Moving Picture Expert Group 2) by ISO/IEC.
With the development of an MPEG2 digital image compression technology, it is now possible to play the video data having the same quality as that of an existing video apparatus, at a data transfer rate of just below 10 Mbps. Besides, with the development of an AC-3 audio compression technology capable of playing multichannel audio data, one can enjoy audio and multi-sounds of high quality even at home. Being developed under such environments, a digital video disc (hereinafter referred to as a DVD) or a DVD-R (Recordable) system is expected to cover many roles of the conventional video recording and reproducing apparatuses such as a VTR (Video Tape Recorder) and a CD-ROM, in the near future. The DVD, a disc-type recording medium for a digital moving picture, an record an MPEG2 digital video signal of over 2 hours of video.
FIG. 1 shows a schematic block diagram of a general DVD player. With reference to FIG. 1, a pickup and deck assembly 12 includes a pickup for irradiating a laser beam onto a disc (i.e., DVD) 10 and receiving a reflected laser beam to read data recorded on the disc 10, and a deck mechanism for controlling rotation and loading of the disc 10, and transferring the pickup. A servo control and signal reproducing device 14 includes a signal reproducing part having amplification, noise deletion, analog-to-digital (A/D) conversion, and synchronous detection functions with respect to an RF (Radio Frequency) signal output from the pickup and deck assembly 12 to thereby reproduce the RF signal, and a servo controller for controlling rotation of the disc 10, and focusing and tracking of the pickup to accurately read the data from the disc 10. The servo controller is controlled by a system controller 24. A DVD data processor 16 demodulates an EFM (eight-to-fourteen modulated) signal output from the servo control and signal reproducing device 14, and performs data PLL (Phase Locked Loop) by means of synchronous detection, descrambling, error detection and correction, and memory control functions.
An internal memory controller for performing the memory control function temporarily stores decoded data into a track buffer 18, and provides an audio/video decoder 20 with the decoded data stored in the track buffer 18 at the request of the audio/video decoder 20. Such memory control function is necessary, because a transfer rate of a signal transferred from the disc 10 to the DVD data processor 16 is higher Than or equal to a transfer rate of a signal transferred from the DVD data processor 16 to the audio/video decoder 20. The system controller 24 controls the memory controller so as to prevent overflow and underflow of the memory. The DVD data processor 16 detects a control data sector contained in a DVD bit stream and provides it to the system controller 24.
The audio/video decoder 20 includes an MPEG video decoder and system parser 30, an AC-3/MPEG audio decoder 32, a sub-picture decoder 34, and an OSD (On-Screen Display) controller 36. The system parser analyzes the output signal of the DVD data processor 16 to divide it into audio, video and sub-picture data. The audio data is applied to the AC-3/MPEG audio decoder 32, the video data to an MPEG video decoder, and the sub-picture data to the sub-picture decoder 34, respectively. The video data decoded at the video decoder and the sub-picture data decoded at the sub-picture decoder 34 are applied to the OSD controller 36. The OSD controller 36 mixes the video data from the MPEG video decoder with the sub-picture data from the sub-picture decoder 34, and provides its output to a video output device 21. The audio data output from the AC-3/MPEG audio decoder 32 is applied to an audio output device 22.
A decoding buffer 38 is used by the MPEC video decoder system parser 30, the AC-3/MPEG audio decoder 32, and the sub-picture decoder 34 in the processing of executing the corresponding decoding operations. The system controller 24 performs servo control, data seek, and deck mechanism control operations to read the data from the disc 10. Further, the system controller 24 controls an overall operation of the DVD player according to the control data from a front keypad and remote control device 28. The front keypad and remote control device 28 includes a plurality of numeric and function keys for generating key data according to a key depression by an operator. The key data generated is applied to the system controller 24. A front display 26 displays thereon display data and various operational information under the control of the system controller 24.
FIG. 2 shows a data format of the DVD bit stream used in the DVD player of FIG. 1. With reference to FIG. 2, the DVD bit stream includes a control pack, MPEG video packs V, AC-3/MPEG audio packs a, and a sub-picture data pack SP for displaying captions and menus. The control pack is a data sector including control information for the DVD bit stream. The control information has highlight information HLI including various highlight-related data required in playing the menus. That is, the highlight information HLI includes information representative of display start and end times, the number of buttons, forced execution start time, button display mode (16:9, 4:3, letter box), button offset value, button position data, commands corresponding to the respective buttons, automatic execution of a selected button, etc.
FIG. 3 shows a menu screen of the DVD player, by way of example. As illustrated, the menu screen includes, for example, six buttons corresponding to six sub-titles. Position and color of the respective buttons, the number of the buttons, and a color of a selected button are determined by the highlight information HLI.
FIG. 4 shows a flow chart of the system controller 24, for playing the menu according to the prior art, and FIG. 5 shows a flow chart of the audio/video decoder 20, for playing the menu according to the prior art.
Upon playback of the DVD bit stream for the menu, the DVD data processor 16 stores the control pack of the DVD bit stream into the track buffer 18. If the user makes a request for playing the menu by using the front keypad and remote control device 28, the system controller 24 senses it at step 100 of FIG. 4, and proceeds to step 102 to check whether the control pack is stored in the track buffer 18 or not. If the control pack is stored in the track buffer 18, the system controller 24 proceeds to step 104 to read out the highlight information HLI from the control pack and store it into an internal memory. Thereafter, at step 106, the system controller 24 transfers the DVD bit stream stored in the track buffer 18 to the audio/video decoder 20. As a result, the DVD bit stream stored in the track buffer 18 is transferred to the audio/video decoder 20 via the DVD data processor 16.
After transferring the DVD bit stream, the system controller 24 checks, at step 108, whether a key input is received from the front keypad and remote controller 28. The user may select a specified menu item by depressing button selection keys, numeric keys, and an enter key prepared on the front keypad and remote controller 28. Upon receiving a certain key input at the step 108, the system controller 24 checks, at steps 110 and 112, whether the key input is valid or not by referring to the highlight information HLI stored in the internal memory. If the key input is valid, the system controller 24 proceeds to step 114 to set a current button display mode (16:9, 4:3, and letter box) referring to the highlight information HLI. At steps 116 and 117, it is checked whether the key input is set for automatic execution or not referring to the highlight information HLI. The automatic execution function indicates that the command of a selected button is immediately executed. In the case of non-automatic execution, a command is executed after an enter key is stroked following button selection. If it is set for the automatic execution, the procedure proceeds to step 128 to automatically execute a command of the corresponding button. However, if the key input is not set for the automatic execution, the system controller 24 checks, at steps 118 and 120, whether the selected button number is valid or not. That is, it is checked whether the selected key is coincident with a button number corresponding to the highlight information HLI. If the selected button number is invalid, the system controller 24 displays an error message on the front display 26, at step 122. If the selected button number is valid, the key data is transferred to the audio/video decoder 20, at step 124.
In the meantime, the audio/video decoder 20 receives the DVD bit stream transferred (at the step 106 of FIG. 4) from the system controller 24, at step 200. Upon receiving the DVD bit stream, the audio/video decoder 20 displays the menu screen as shown in FIG. 3 by using information in the sub-picture data pack SP, at step 202. Thereafter, the audio/video decoder 20 reads the highlight information HLI from the received control pack, at step 204 and checks, at step 206, whether a forced selection button is set or not. The forced selection button controls the function that selects some buttons so as to be highlighted, or in other words, the function that some buttons are highlighted in the default state. If the forced selection button is set, the procedure proceeds to step 208 to highlight the corresponding button on the menu screen. For instance, the audio/video decoder 20 highlights a button "1. AAAA" set for the forced selection button of FIG. 3. Then, at step 210, the audio/video decoder 20 transfers a highlight selection completion signal for the corresponding button to the system controller 24.
Meanwhile, the system controller 24 checks at step 126 whether a highlight execution completion signal is received from the audio/video decoder 20. If the highlight execution completion signal is not received (instead, if the corresponding highlight selection completion signal transmitted from the audio/video decoder 20 is received), the procedure returns to the step 108 to repeat the succeeding steps. The highlight execution completion signal is generated after the menu item of a selected button is executed, anal the highlight selection completion signal is generated after a button to be highlighted is selected.
Referring back to FIG. 5, the audio/video decoder 20 checks at step 212 whether the key data corresponding to the selected button number transmitted at the step 124 from the system controller 24 is received or not. If the key data is received, the procedure proceeds to step 214 to check whether the key data relates to button selection. If it relates to button selection, the audio/video decoder 20 searches for the selected button at step 216, and checks, at steps 218 and 220, whether the button selection is set for the automatic execution referring to the highlight information HLI of the received control pack. If the button selection is not set for the automatic execution, the audio/video decoder 20 highlights the selected button in a color specified by the highlight information HLI, at step 222. Then, at step 224, the audio/video decoder 20 transfers the highlight selection completion signal to the system controller 24.
However, if the key data does not relate to button selection or if button selection is set for the automatic execution at the step 220, the audio/video decoder 20 proceeds to step 226 to set a display mode. If the key data does relate to button selection, it is meant that the key data corresponds to an execution key. In the display mode, the audio/video decoder 20 refers to the highlight information HLI of the received control pack. Thereafter, the audio/video decoder 20 highlights the executed button in a specified color, at step 228 and transfers a highlight execution completion signal to the system controller 24, at step 230.
Referring back to FIG. 4, the system controller 24 checks, at the step 126, whether the highlight execution completion signal is received. If the highlight execution completion signal is received, the system controller 24 proceeds to step 128 to execute the corresponding command.
As described above, in the conventional menu playing method, the system controller 24 checks every item of information of the control pack to control the audio/video decoder 20 according thereto. Thus, the conventional menu playing method needs the system controller having a high operating speed to rapidly read the control pack from the DVD data processor 16. Furthermore, in the conventional menu playing method, the control pack that the system controller 24 currently has should necessarily coincide with the control pack transferred previously to the audio/video decoder 20. If not so, an error may occur. In order to prevent occurrence of the error, the previously transferred control pack should be stored into the internal memory of the system controller 24 during track buffer controlling of the DVD data processor 16, thereby to prevent overwriting of the following other control pack.